package com.hex.ds.hdtp.core.app.data.table.service;

import com.hex.ds.hdtp.core.app.common.service.IBasicService;
import com.hex.ds.hdtp.core.app.data.table.dto.request.TableTransferFieldMapRequestDto;
import com.hex.ds.hdtp.core.app.data.table.dto.response.TableTransferFieldMapResponseDto;

import java.util.List;

/**
 * @Package com.hex.ds.hdtp.core.app.data.table.service
 * @ClassName ITableTransferFieldMapService
 * @Description 表迁移清单字段映射-业务接口
 * @Author Wang zhihao
 * @Date 2023/8/9 12:08
 * @Version v1.0
 **/
public interface ITableTransferFieldMapService extends IBasicService<TableTransferFieldMapRequestDto> {

    /**
     * @Method addList
     * @Param
     * @param tableTransferFieldMapRequestDtos
     * @Return void
     * @Description 批量新增
     * @Author Wang zhihao
     * @Date 2023/8/15 12:03
     * @Version V1.0
     */
    void batchAdd(List<TableTransferFieldMapRequestDto> tableTransferFieldMapRequestDtos);

    /**
     * @Method removeByListPkId
     * @Param
     * @param listPkId
     * @Return void
     * @Description 根据表迁移清单主键删除
     * @Author Wang zhihao
     * @Date 2023/8/15 13:53
     * @Version V1.0
     */
    void removeByListPkId(String listPkId);

    /**
     * @Method queryList
     * @Param
     * @param tableTransferFieldMapRequestDto
     * @Return java.util.List<com.hex.ds.hdtp.core.app.data.table.dto.response.TableTransferFieldMapResponseDto>
     * @Description 不分页查询
     * @Author Wang zhihao
     * @Date 2023/8/11 16:50
     * @Version V1.0
     */
    List<TableTransferFieldMapResponseDto> queryList(TableTransferFieldMapRequestDto tableTransferFieldMapRequestDto);

    /*
     * @Method: queryListByListPkId <br>
     * @Param: [tableTransferListPkId] <br>
     * @Return: java.util.List<com.hex.ds.hdtp.core.app.data.table.dto.response.TableTransferFieldMapResponseDto> <br>
     * @Description：根据表迁移清单主键查询该清单对应的表元数据映射<br>
     * @Author： wz.li<br>
     * @Date： 2023/8/21 20:02 <br>
     * @Version： V2.0.2<br>
     */
    List<TableTransferFieldMapResponseDto> queryListByListPkId(String tableTransferListPkId);

    /**
     * @Method batchRemoveById
     * @Param
     * @param pkIds
     * @Return void
     * @Description 表迁移清单字段映射-批量删除
     * @Author Wang zhihao
     * @Date 2023/8/9 10:43
     * @Version V1.0
     */
    void batchRemoveById(List<String> pkIds);

}
